import axios from 'axios';

const service = axios.create({
  baseURL: '/api',  // 使用代理前缀
  timeout: 300000,
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Access-Control-Allow-Origin': '*',
    'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,PATCH,OPTIONS',
    'Access-Control-Allow-Headers': 'Content-Type, Authorization, X-Requested-With'
  },
  withCredentials: true // 允许跨域请求携带凭证
});

service.interceptors.request.use(
  config => {
    // 确保 headers 对象存在
    config.headers = config.headers || {};
    
    // 如果请求中提供了 Authorization，使用请求中的值
    if (config.headers.Authorization) {
      return config;
    }
    
    // 否则使用默认的 token
    config.headers['Authorization'] ='Bearer ' + localStorage.getItem('bot_id') ||'app-J8oB2k4mNSwFGmOQalJQD8Oq';
    return config;
  },
  error => {
    console.error('Request error:', error);
    return Promise.reject(error);
  }
);

service.interceptors.response.use(
  response => {
    return response.data;
  },
  error => {
    if (error.response) {
      // 处理 401 错误
      if (error.response.status === 401) {
        console.error('Authentication failed:', error.response.data);
        // 这里可以添加重定向到登录页面或其他处理逻辑
      }
      console.error('Response error:', error.response.data);
    } else {
      console.error('Network error:', error.message);
    }
    return Promise.reject(error);
  }
);

export default service; 